class Compara(object):
    """
    文件对比 求差 求和 求交集
    一定量的对比 一次读入内存
    """

    def __init__(self):
        pass

    def difference_compare(self, inputobj1, inputobj2):
        # 差集 self.inputobj1.difference(self.inputobj2)
        return inputobj1 - inputobj2

    def intersection_compare(self, inputobj1, inputobj2):
        # 交集 self.inputobj1.intersection(self.inputobj2)
        return inputobj1 & inputobj2

    def union_compare(self, inputobj1, inputobj2):
        # 并集 self.inputobj1.union(self.inputobj2)
        return inputobj1 | inputobj2

    def symmetric_difference_compare(self, inputobj1, inputobj2):
        # 对称差集(项在t或s中，但不会同时出现在二者中)
        # self.inputobj1.symmetric_difference(self.inputobj2)
        return inputobj1 ^ inputobj2

    def issubset_compare(self, inputobj1, inputobj2):
        """
        这个比较返回 True or False
        :return:
        """
        # 测试是否 self.inputobj2 中的每一个元素都在 self.inputobj1 中
        # self.inputobj2.issubset(self.inputobj1)
        return inputobj2 <= inputobj1
        # or
        # self.inputobj1.issuperset(self.inputobj2)
        # self.inputobj1 >= self.inputobj2
